<?php
   //BDD
   function error($mensaje)
   {
      echo "<div id=\"error-sin-noticias\">" . $mensaje . "</div>";
   }

   function obtener_menor_id_no_usado($tabla)
   {
      $ids = obtener_ids($tabla);
      $i = 1;
      $salir = false;
      while(!$salir)
      {
         if(!in_array($i,$ids))
         {
            $salir = true;
         }else
         {
            $i++;
         }
      }
      return $i;
   }

   function obtener_ids($tabla)
   {
      global $conexion;
      $ids = array();
      $consulta = "SELECT id FROM " . $tabla;
      $consulta = mysql_query($consulta, $conexion);
      while ($fila = mysql_fetch_array($consulta))
      {
         $ids[] = $fila[0];
      }
      return $ids;
   }

   //PARÁMETROS:  PÁGINA:                 ES EL NÚMERO DE LA PÁGINA A PARTIR DE LA CUAL SACAMOS LAS NOTICIAS
   //             OFFSET:                 UNA VEZ OBTENIDAS LAS NOTICIAS, ESTO ES UN NÚMERO QUE NOS DETERMINA EL NÚMERO DE NOTICIA DENTRO DE LAS OBTENIDAS A LA QUE LE HAREMOS FOCUS
   //             NUMERO_NOTICIAS_PAGINA: NÚMERO DE NOTICIAS POR PÁGINA
   //             ARRAY CATEGORIAS:       ESTO ES UN ARRAY CON EL ID DE LAS CATEGORÍAS QUE VAMOS A TENER EN CUENTA. SI ES NULL SE SACARÁN NOTICIAS DE TODAS LAS CATEGORÍAS
   function obtener_noticias($pagina, $offset, $numero_noticias_pagina, $categorias)
   {
      global $conexion;

      $consulta = "SELECT * FROM noticias ORDER BY fecha_creacion DESC";
      $resultado = mysql_query($consulta);
      if(!$resultado)
      {
         error("Error al intentar obtener noticias");
      }
      while($noticias[] = mysql_fetch_assoc($resultado));
      mysql_free_result($resultado);
      return $noticias;
   }

   
   //NOTICIAS
   function escribir_noticia($titulo, $contenido, $autor, $id)
   {
      $noticia = "<div class=\"noticia\">";
      $noticia .= "<p class=\"titulo-noticia\"><a href='verNoticia.php?idNoticia=".$id ."'>". $titulo . "</a></p>";
      $noticia .= "<div class=\"contenido-noticia\">" . $contenido . "</div><br>";
     
      //Tenemos la id del autor, ahora sacamos su nick
      $consulta = "SELECT nick FROM usuarios WHERE id='".$autor."'";
      $consulta = mysql_query($consulta);
      $resultado =mysql_fetch_array($consulta);
      $noticia .= "<p class=\"autor-noticia\"><a href='usuario.php?usuario=".$resultado['nick']."'>". $resultado['nick'] . "</a></p>";
      $noticia .= "<div id='idNoticia' style='display: none;'>".$id ."</div>";
      $noticia .= "</div>";
      echo $noticia;
   }

   //obtener permisos de la base de datos.
   //se le pasa el id del user, devuelve un array
   function obtener_permisos($id)
   {
         global $conexion;
           $permisos = array();
           $consulta = "SELECT nombre FROM permisos WHERE id IN". 
               "(".
                   "SELECT PERMISOS_id FROM permisos_grupos WHERE GRUPOS_PERMISOS_id =". 
                       "(".
                           "SELECT grupo_permisos FROM usuarios where id ='$id'".
                       ")".
               ")";
           $consulta = mysql_query($consulta, $conexion);
           while ($row = mysql_fetch_array($consulta))
           {
               array_push($permisos,$row['nombre']);
           }
           return $permisos;
   }

   /* Una cadena random
    * $length = 10: el numero de caracteres que deseamos que aparezcan en nuestra cadena. 10 por defecto.
    * $uc = TRUE: ($uppercase) si deseamos incluir caracteres en mayuscula en la cadena. True por defecto.
    * $n = TRUE: (Numeros) si deseamos incluir caracteres numericos. True por defecto.
    * $sc = FALSE: (Special Chars) finalmente si deseamos incluir caracteres especiales, False por defecto.
    * 
    * 
    */
   function RandomString($length)
   {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $randomString;
   }
   
   function CambiarGrupoPermisos($nick, $grupopermisos)
   {
       global $conexion;
        $consulta = "SELECT id FROM grupospermisos WHERE nombre='".$grupopermisos."'";
        $resultado = mysql_query($consulta, $conexion);
        if(mysql_num_rows($resultado)!=0)
        {

            //cogemos la id y la modificamos
            $fila=mysql_fetch_array($resultado);
            $id=$fila["id"];
            $consulta = "UPDATE usuarios SET grupo_permisos='".$id."' WHERE nick='".$nick."'";
            $consulta = mysql_query($consulta, $conexion);
            return $consulta;
        }else{
            //problemas con base de datos
            //puede ser que nomre de grupo de permisos no coincide
            return FALSE;
        }
        
   }
   
?>